BoundedVerifier< T[N]> Class Template Reference

specialization of Bounded verifier for for C-arrays More...

#include <GaudiKernel/CArrayAsProperty.h>

Inheritance diagram for BoundedVerifier< T[N]>:
Collaboration diagram for BoundedVerifier< T[N]>:

Public Member Functions

 BoundedVerifier ()
 Constructors. More...
 
virtual ~BoundedVerifier ()=default
 Destructor. More...
 
bool isValid (const typename Traits::CVal value) const
 Check if the value is within bounds. More...
 
bool hasLower () const
 Return if it has a lower bound. More...
 
bool hasUpper () const
 Return if it has a lower bound. More...
 
Traits::CRef lower () const
 Return the lower bound value. More...
 
Traits::CRef upper () const
 Return the upper bound value. More...
 
void setLower (typename Traits::CRef value)
 Set lower bound value. More...
 
void setUpper (typename Traits::CRef value)
 Set upper bound value. More...
 
void clearLower ()
 Clear lower bound value. More...
 
void clearUpper ()
 Clear upper bound value. More...
 
void setBounds (typename Traits::CRef lower, typename Traits::CRef upper)
 Set both bounds (lower and upper) at the same time. More...
 
void clearBounds ()
 Clear both bounds (lower and upper) at the same time. More...
 

Private Types

typedef Gaudi::Utils::PropertyTypeTraits< T[N]> Traits
 

Private Attributes

bool m_hasLowerBound
 Data and Function Members for This Class Implementation. More...
 
bool m_hasUpperBound
 
const T m_lowerBound [N]
 
const T m_upperBound [N]
 

Additional Inherited Members

- Private Member Functions inherited from PropertyVerifier< T[N]>
virtual ~PropertyVerifier ()=default
 
virtual bool isValid (const typename Gaudi::Utils::PropertyTypeTraits< T >::CVal value) const =0
 

Detailed Description

template<class T, unsigned int N>
class BoundedVerifier< T[N]>

specialization of Bounded verifier for for C-arrays

Definition at line 110 of file CArrayAsProperty.h.

Member Typedef Documentation

template<class T , unsigned int N>
typedef Gaudi::Utils::PropertyTypeTraits<T[N]> BoundedVerifier< T[N]>::Traits
private

Definition at line 113 of file CArrayAsProperty.h.

Constructor & Destructor Documentation

template<class T , unsigned int N>
BoundedVerifier< T[N]>::BoundedVerifier ( )
inline

Constructors.

Definition at line 118 of file CArrayAsProperty.h.

119  : m_hasLowerBound ( false )
120  , m_hasUpperBound ( false )
121  {}
bool m_hasLowerBound
Data and Function Members for This Class Implementation.
template<class T , unsigned int N>
virtual BoundedVerifier< T[N]>::~BoundedVerifier ( )
virtualdefault

Destructor.

Member Function Documentation

template<class T , unsigned int N>
void BoundedVerifier< T[N]>::clearBounds ( )
inline

Clear both bounds (lower and upper) at the same time.

Definition at line 159 of file CArrayAsProperty.h.

160  {
161  clearLower();
162  clearUpper();
163  }
void clearUpper()
Clear upper bound value.
void clearLower()
Clear lower bound value.
template<class T , unsigned int N>
void BoundedVerifier< T[N]>::clearLower ( )
inline

Clear lower bound value.

Definition at line 147 of file CArrayAsProperty.h.

147 { m_hasLowerBound = false; }
bool m_hasLowerBound
Data and Function Members for This Class Implementation.
template<class T , unsigned int N>
void BoundedVerifier< T[N]>::clearUpper ( )
inline

Clear upper bound value.

Definition at line 149 of file CArrayAsProperty.h.

149 { m_hasUpperBound = false; }
template<class T , unsigned int N>
bool BoundedVerifier< T[N]>::hasLower ( ) const
inline

Return if it has a lower bound.

Definition at line 134 of file CArrayAsProperty.h.

134 { return m_hasLowerBound; }
bool m_hasLowerBound
Data and Function Members for This Class Implementation.
template<class T , unsigned int N>
bool BoundedVerifier< T[N]>::hasUpper ( ) const
inline

Return if it has a lower bound.

Definition at line 136 of file CArrayAsProperty.h.

136 { return m_hasUpperBound; }
template<class T , unsigned int N>
bool BoundedVerifier< T[N]>::isValid ( const typename Traits::CVal  value) const
inline

Check if the value is within bounds.

Definition at line 126 of file CArrayAsProperty.h.

127  {
128  return
129  ( ( m_hasLowerBound && Traits::less ( *value , m_lowerBound ) ) ? false : true )
130  &&
131  ( ( m_hasUpperBound && Traits::less ( m_upperBound , *value ) ) ? false : true ) ;
132  }
bool m_hasLowerBound
Data and Function Members for This Class Implementation.
template<class T , unsigned int N>
Traits::CRef BoundedVerifier< T[N]>::lower ( ) const
inline

Return the lower bound value.

Definition at line 138 of file CArrayAsProperty.h.

138 { return m_lowerBound; }
template<class T , unsigned int N>
void BoundedVerifier< T[N]>::setBounds ( typename Traits::CRef  lower,
typename Traits::CRef  upper 
)
inline

Set both bounds (lower and upper) at the same time.

Definition at line 152 of file CArrayAsProperty.h.

153  {
154  setLower( lower );
155  setUpper( upper );
156  }
Traits::CRef upper() const
Return the upper bound value.
void setLower(typename Traits::CRef value)
Set lower bound value.
void setUpper(typename Traits::CRef value)
Set upper bound value.
Traits::CRef lower() const
Return the lower bound value.
template<class T , unsigned int N>
void BoundedVerifier< T[N]>::setLower ( typename Traits::CRef  value)
inline

Set lower bound value.

Definition at line 143 of file CArrayAsProperty.h.

143 { m_hasLowerBound = true; Traits::assign ( m_lowerBound , value ) ; }
bool m_hasLowerBound
Data and Function Members for This Class Implementation.
template<class T , unsigned int N>
void BoundedVerifier< T[N]>::setUpper ( typename Traits::CRef  value)
inline

Set upper bound value.

Definition at line 145 of file CArrayAsProperty.h.

template<class T , unsigned int N>
Traits::CRef BoundedVerifier< T[N]>::upper ( ) const
inline

Return the upper bound value.

Definition at line 140 of file CArrayAsProperty.h.

140 { return m_upperBound; }

Member Data Documentation

template<class T , unsigned int N>
bool BoundedVerifier< T[N]>::m_hasLowerBound
private

Data and Function Members for This Class Implementation.

Data members

Definition at line 169 of file CArrayAsProperty.h.

template<class T , unsigned int N>
bool BoundedVerifier< T[N]>::m_hasUpperBound
private

Definition at line 170 of file CArrayAsProperty.h.

template<class T , unsigned int N>
const T BoundedVerifier< T[N]>::m_lowerBound[N]
private

Definition at line 171 of file CArrayAsProperty.h.

template<class T , unsigned int N>
const T BoundedVerifier< T[N]>::m_upperBound[N]
private

Definition at line 172 of file CArrayAsProperty.h.


The documentation for this class was generated from the following file: